using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.ObjectModel;

namespace BodySoundSimulator.AbsoluteMapData
{
    public class FrontViewDynamicContributionData
    {
        #region Fields
		Collection<FrontViewCommonAuscultationSiteEffect> frontViewEffects;
        #endregion

        #region Properties
		public Collection<FrontViewCommonAuscultationSiteEffect> FrontViewEffects
		{
			get { return frontViewEffects; }
			set { frontViewEffects = value; }
		}
        #endregion

        #region Constructors
        public FrontViewDynamicContributionData()
        {
			this.frontViewEffects = new Collection<FrontViewCommonAuscultationSiteEffect>();
        }
        #endregion

        #region Public methods

		public void InitializeDefaults()
		{
			this.frontViewEffects.Clear();
			this.frontViewEffects.Add(new FrontViewCommonAuscultationSiteEffect(FrontViewCommonAuscultationSiteType.heartSoundSiteOne));
			this.frontViewEffects.Add(new FrontViewCommonAuscultationSiteEffect(FrontViewCommonAuscultationSiteType.heartSoundSiteTwo));
			this.frontViewEffects.Add(new FrontViewCommonAuscultationSiteEffect(FrontViewCommonAuscultationSiteType.heartSoundSiteThree));
			this.frontViewEffects.Add(new FrontViewCommonAuscultationSiteEffect(FrontViewCommonAuscultationSiteType.heartSoundSiteFour));
			this.frontViewEffects.Add(new FrontViewCommonAuscultationSiteEffect(FrontViewCommonAuscultationSiteType.heartSoundSiteFive));

			this.frontViewEffects.Add(new FrontViewCommonAuscultationSiteEffect(FrontViewCommonAuscultationSiteType.lungSoundSiteOne));
			this.frontViewEffects.Add(new FrontViewCommonAuscultationSiteEffect(FrontViewCommonAuscultationSiteType.lungSoundSiteTwo));
			this.frontViewEffects.Add(new FrontViewCommonAuscultationSiteEffect(FrontViewCommonAuscultationSiteType.lungSoundSiteThree));
			this.frontViewEffects.Add(new FrontViewCommonAuscultationSiteEffect(FrontViewCommonAuscultationSiteType.lungSoundSiteFour));
			this.frontViewEffects.Add(new FrontViewCommonAuscultationSiteEffect(FrontViewCommonAuscultationSiteType.lungSoundSiteFive));
		}
        internal FrontViewDynamicContributionData Clone()
        {
            FrontViewDynamicContributionData clone = new FrontViewDynamicContributionData();
			clone.frontViewEffects = new Collection<FrontViewCommonAuscultationSiteEffect>();
			foreach (FrontViewCommonAuscultationSiteEffect frontViewEffect in this.frontViewEffects)
			{
				clone.frontViewEffects.Add(frontViewEffect.Clone());
			}
            return clone;
		}
		#endregion
	}
}
